using MediatR;
using ProduceBasicData.Api.DTO;
using ProduceBasicData.ErrorCode;

namespace ProduceBasicData.Api.Application.Command.Material.BOM
{
    /// <summary>
    /// 获取BOM树形结构命令
    /// </summary>
    public class GetBOMTreeCommand : IRequest<ApiResult<List<BOMTreeDTO>>>
    {
        /// <summary>
        /// BOM名称
        /// </summary>
        public string? BOMName { get; set; }

        /// <summary>
        /// BOM版本
        /// </summary>
        public string? BomVersion { get; set; }

        /// <summary>
        /// BOM类型
        /// </summary>
        public string? BomType { get; set; }

        /// <summary>
        /// 工序ID
        /// </summary>
        public int? ProcessId { get; set; }

        /// <summary>
        /// 父级BOM ID（用于获取指定BOM的子级）
        /// </summary>
        public int? ParentBOMId { get; set; }
    }
}
